翻訳と辞書
Words near each other
・ Streptobacillus moniliformis
・ Streptocarpus
・ Streptocarpus rexii
・ Streptocaulon
・ Streptocephalus
・ Streptocephalus dendrophorus
・ Streptocephalus dendyi
・ Streptocephalus gracilis
・ Streptocephalus guzmani
・ Strength of schedule
・ Strength of Serbia Movement
・ Strength of ships
・ Strength of Steel
・ Strength of the Sword 3
・ Strength Power Will Passion
Strength reduction
・ Strength tester
・ Strength tester machine
・ Strength Through Joy
・ Strength Through Vengeance
・ Strength Thru Oi!
・ Strength to Love
・ Strength training
・ Strength-based practice
・ Strengthen the Arm of Liberty
・ Strengthen the Arm of Liberty Monument (Fayetteville, Arkansas)
・ Strengthen the Arm of Liberty Monument (Overland Park, Kansas)
・ Strengthen the Arm of Liberty Monument (Pine Bluff, Arkansas)
・ Strengthen What Remains
・ Strengthening Church Members Committee


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Strength reduction : ウィキペディア英語版
Strength reduction
In software engineering, strength reduction is a compiler optimization where expensive operations are replaced with equivalent but less expensive operations. The classic example of strength reduction converts "strong" multiplications inside a loop into "weaker" additions – something that frequently occurs in array addressing.
Examples of strength reduction include:
* replacing a multiplication within a loop with an addition
* replacing an exponentiation within a loop with a multiplication
== Code analysis ==

Most of a program's execution time is typically spent in a small section of code (called a hot spot), and that code is often inside a loop that is executed over and over.
A compiler uses methods to identify loops and recognize the characteristics of register values within those loops. For strength reduction, the compiler is interested in
*loop invariants. These are the values that do not change within the body of a loop.
*induction variables. These are the values that are being iterated each time through the loop.
Loop invariants are essentially constants within a loop, but their value may change outside of the loop. Induction variables are changing by known amounts. The terms are relative to a particular loop. When loops are nested, an induction variable in the outer loop can be a loop invariant in the inner loop.
Strength reduction looks for expressions involving a loop invariant and an induction variable. Some of those expressions can be simplified. For example, the multiplication of loop invariant c and induction variable i

c = 7;
for (i = 0; i < N; i++)

can be replaced with successive weaker additions

c = 7;
k = 0;
for (i = 0; i < N; i++)


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Strength reduction」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.